/**
 * Project Name:fire-industry-DM-center
 * File Name:DmMapDomesticMedicalQquipment.java
 * Package Name:com.firestone.bean.entity.elasticsearch.dm
 * Date:2018年4月9日下午4:16:35
 *
*/

package com.firestone.bean.entity.elasticsearch.dm;

import java.io.Serializable;
import java.util.List;

import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.DateFormat;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;
import org.springframework.data.elasticsearch.annotations.Setting;

import com.firestone.bean.entity.elasticsearch.nested.WeightJson;

/**
 * @Description: TODO(数据工厂DM层国内器械表 Elasticsearch bean)
 *               DM数据工厂ES表不由该系统维护，请将createIndex设为false，避免系统启动时修改了大数据维护表的索引
 * @author CAIYJ
 * @date 2018年4月9日 下午4:16:35
 */
@Document(indexName = "dm_map_domestic_medical_equipment", type = "index", createIndex = false)
@Setting(settingPath = "/setting/setting.json")
public class DmMapDomesticMedicalEquipment implements Serializable {

    private static final long serialVersionUID = 1L;
    @Id
    private String id;
    /**
     * @Fields SYS_add_time : TODO(添加时间)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss")
    private String SYS_add_time;

    /**
     * @Fields SYS_add_time : TODO(检验时间)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss")
    private String SYS_check_time;

    /**
     * @Fields SYS_add_time : TODO(更改时间)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss")
    private String SYS_dm_update_time;

    /**
     * @Fields agent_address : TODO(代理人住所)
     */
    @Field(type = FieldType.keyword)
    private String agent_address;

    /**
     * @Fields agent_name : TODO(代理人姓名)
     */
    @Field(type = FieldType.keyword)
    private String agent_name;

    /**
     * @Fields application : TODO(试用范围)
     */
    @Field(type = FieldType.keyword)
    private String application;

    /**
     * @Fields application_ivdr : TODO(预期用途（体外诊断试剂）)
     */
    @Field(type = FieldType.keyword)
    private String application_ivdr;

    /**
     * @Fields approval_apartment : TODO(审批部门)
     */
    @Field(type = FieldType.keyword)
    private String approval_apartment;

    /**
     * @Fields approval_date : TODO(批准日期)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd")
    private String approval_date;

    /**
     * @Fields attachment : TODO(附件)
     */
    @Field(type = FieldType.keyword)
    private String attachment;

    /**
     * @Fields change_condition : TODO(变更情况)
     */
    @Field(type = FieldType.keyword)
    private String change_condition;

    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd")
    private String change_date;

    /**
     * @Fields classification : TODO(分类)
     */
    @Field(type = FieldType.keyword)
    private String classification;

    /**
     * @Fields expiration : TODO(有效期至)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd")
    private String expiration;

    /**
     * @Fields first_approval_year : TODO(首次获批年份)
     */
    @Field(type = FieldType.keyword)
    private String first_approval_year;

    /**
     * @Fields main_component : TODO(主要组成成分（体外诊断试剂）)
     */
    @Field(type = FieldType.keyword)
    private String main_component;

    /**
     * @Fields mainclass : TODO(主要分类)
     */
    @Field(type = FieldType.keyword)
    private String mainclass;

    /**
     * @Fields others : TODO(其他内容)
     */
    @Field(type = FieldType.keyword)
    private String others;

    /**
     * @Fields postcode : TODO(邮编)
     */
    @Field(type = FieldType.keyword)
    private String postcode;

    /**
     * @Fields production_address : TODO(生产地址)
     */
    @Field(type = FieldType.keyword)
    private String production_address;

    /**
     * @Fields production_name_chinese : TODO(产品中文名)
     */
    @Field(type = FieldType.text, analyzer = "ik_max_word")
    private String production_name_chinese;

    /**
     * @Fields production_standard : TODO(产品标准)
     */
    @Field(type = FieldType.keyword)
    private String production_standard;

    /**
     * @Fields registration_address : TODO(注册人地址)
     */
    @Field(type = FieldType.keyword)
    private String registration_address;

    /**
     * @Fields registration_id : TODO(注册证编号)
     */
    @Field(type = FieldType.keyword)
    private String registration_id;

    /**
     * @Fields registration_name : TODO(注册人名称)
     */
    @Field(type = FieldType.keyword)
    private String registration_name;

    /**
     * @Fields remark : TODO(备注)
     */
    @Field(type = FieldType.keyword)
    private String remark;

    /**
     * @Fields storation_condition_expiration : TODO(产品储存条件及有效期（体外诊断试剂）)
     */
    @Field(type = FieldType.keyword)
    private String storation_condition_expiration;

    /**
     * @Fields structure : TODO(结构及组成)
     */
    @Field(type = FieldType.keyword)
    private String structure;

    /**
     * @Fields type_and_specification : TODO(规格型号)
     */
    @Field(type = FieldType.keyword)
    private String type_and_specification;

    @Field(type = FieldType.Nested)
    private List<WeightJson> weight_json;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getSYS_add_time() {
        return SYS_add_time;
    }

    public void setSYS_add_time(String sYS_add_time) {
        SYS_add_time = sYS_add_time;
    }

    public String getSYS_check_time() {
        return SYS_check_time;
    }

    public void setSYS_check_time(String sYS_check_time) {
        SYS_check_time = sYS_check_time;
    }

    public String getSYS_dm_update_time() {
        return SYS_dm_update_time;
    }

    public void setSYS_dm_update_time(String sYS_dm_update_time) {
        SYS_dm_update_time = sYS_dm_update_time;
    }

    public String getAgent_address() {
        return agent_address;
    }

    public void setAgent_address(String agent_address) {
        this.agent_address = agent_address;
    }

    public String getAgent_name() {
        return agent_name;
    }

    public void setAgent_name(String agent_name) {
        this.agent_name = agent_name;
    }

    public String getApplication() {
        return application;
    }

    public void setApplication(String application) {
        this.application = application;
    }

    public String getApplication_ivdr() {
        return application_ivdr;
    }

    public void setApplication_ivdr(String application_ivdr) {
        this.application_ivdr = application_ivdr;
    }

    public String getApproval_apartment() {
        return approval_apartment;
    }

    public void setApproval_apartment(String approval_apartment) {
        this.approval_apartment = approval_apartment;
    }

    public String getApproval_date() {
        return approval_date;
    }

    public void setApproval_date(String approval_date) {
        this.approval_date = approval_date;
    }

    public String getAttachment() {
        return attachment;
    }

    public void setAttachment(String attachment) {
        this.attachment = attachment;
    }

    public String getChange_condition() {
        return change_condition;
    }

    public void setChange_condition(String change_condition) {
        this.change_condition = change_condition;
    }

    public String getChange_date() {
        return change_date;
    }

    public void setChange_date(String change_date) {
        this.change_date = change_date;
    }

    public String getClassification() {
        return classification;
    }

    public void setClassification(String classification) {
        this.classification = classification;
    }

    public String getExpiration() {
        return expiration;
    }

    public void setExpiration(String expiration) {
        this.expiration = expiration;
    }

    public String getFirst_approval_year() {
        return first_approval_year;
    }

    public void setFirst_approval_year(String first_approval_year) {
        this.first_approval_year = first_approval_year;
    }

    public String getMain_component() {
        return main_component;
    }

    public void setMain_component(String main_component) {
        this.main_component = main_component;
    }

    public String getMainclass() {
        return mainclass;
    }

    public void setMainclass(String mainclass) {
        this.mainclass = mainclass;
    }

    public String getOthers() {
        return others;
    }

    public void setOthers(String others) {
        this.others = others;
    }

    public String getPostcode() {
        return postcode;
    }

    public void setPostcode(String postcode) {
        this.postcode = postcode;
    }

    public String getProduction_address() {
        return production_address;
    }

    public void setProduction_address(String production_address) {
        this.production_address = production_address;
    }

    public String getProduction_name_chinese() {
        return production_name_chinese;
    }

    public void setProduction_name_chinese(String production_name_chinese) {
        this.production_name_chinese = production_name_chinese;
    }

    public String getProduction_standard() {
        return production_standard;
    }

    public void setProduction_standard(String production_standard) {
        this.production_standard = production_standard;
    }

    public String getRegistration_address() {
        return registration_address;
    }

    public void setRegistration_address(String registration_address) {
        this.registration_address = registration_address;
    }

    public String getRegistration_id() {
        return registration_id;
    }

    public void setRegistration_id(String registration_id) {
        this.registration_id = registration_id;
    }

    public String getRegistration_name() {
        return registration_name;
    }

    public void setRegistration_name(String registration_name) {
        this.registration_name = registration_name;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getStoration_condition_expiration() {
        return storation_condition_expiration;
    }

    public void setStoration_condition_expiration(
            String storation_condition_expiration) {
        this.storation_condition_expiration = storation_condition_expiration;
    }

    public String getStructure() {
        return structure;
    }

    public void setStructure(String structure) {
        this.structure = structure;
    }

    public String getType_and_specification() {
        return type_and_specification;
    }

    public void setType_and_specification(String type_and_specification) {
        this.type_and_specification = type_and_specification;
    }

    public List<WeightJson> getWeight_json() {
        return weight_json;
    }

    public void setWeight_json(List<WeightJson> weight_json) {
        this.weight_json = weight_json;
    }
}
